package edu.snake.implement.model.character;


import edu.snake.core.model.Character;
import edu.snake.core.model.Position;

import java.util.Deque;
import java.util.LinkedList;

public class Snake extends CharacterImpl {
    private final static CharacterName CHARACTER_NAME = CharacterName.SNAKE;

    private Deque<Character> snakeElementList;
    private int snakeSizeInitial;

    public Snake(Position position, int snakeSizeInitial) {
        super(position);
        snakeElementList = new LinkedList<Character>();
        this.snakeSizeInitial = snakeSizeInitial;
        this.score = snakeSizeInitial;
    }

    @Override
    public CharacterName getName() {
        return CHARACTER_NAME;
    }


    @Override
    public Deque<Character> getAllElement() {
        return snakeElementList;
    }

    @Override
    public void setAllElement(Deque<Character> characters) {
        this.snakeElementList = characters;
    }
}
